package demo2;
//class MyArray<T>{
//    public Object[] array=new Object[3];
//    public void setArray(int pos,T val){
//        array[pos]=val;
//    }
//    public T getVal(int pos){
//        return (T)array[pos];
//    }
//}

class MyArray<T>{
    public Object[] array=new Object[3];
    public void setArray(int pos,T val){
        array[pos]=val;
    }
    public T getVal(int pos){
        return (T)array[pos];
    }
}

public class test {

    public static void main(String[] args) {
        MyArray<Integer> myarray1=new MyArray<Integer>();
        myarray1.setArray(0,19);
        myarray1.setArray(1,29);
        Integer val1=myarray1.getVal(1);
        System.out.println(val1);

        MyArray<String> myarray2=new MyArray<String>();
        myarray2.setArray(0,"hello");
        myarray2.setArray(1,"world");
        String val2=myarray2.getVal(1);
        System.out.println(val2);
    }

    public static void main3(String[] args) {
        MyArray<Integer> myarray1=new MyArray<>();
        myarray1.setArray(0,19);
        myarray1.setArray(1,29);
        Integer val=myarray1.getVal(1);
        System.out.println(val);

        MyArray<String> myarray2=new MyArray<>();
        myarray2.setArray(0,"hello");
        myarray2.setArray(1,"world");
        String val2=myarray2.getVal(1);
        System.out.println(val2);
    }


    public static void main2(String[] args) {
        MyArray<Integer> myArray1 = new MyArray<Integer>();
        myArray1.setArray(0,19);
        myArray1.setArray(1,29);
        Integer val=myArray1.getVal(1);
        System.out.println(val);

        MyArray<String> stringMyArray = new MyArray<String>();
        stringMyArray.setArray(0,"hello");
        stringMyArray.setArray(1,"world");
        String str1=stringMyArray.getVal(1);
        System.out.println(str1);

    }


    public static void main1(String[] args) {
        int i=10;
        Integer a=i;
        System.out.println(a);
        System.out.println(i);
        //自动拆箱就是使用的这个intValue方法或者是其他的数据类型使用的这个
        //doubleValue方法进行自动的拆箱
        //装箱的时候在-128~127这个区间里面的时候，就是去从数组里面取数值
        //但是不在这个区间里面的时候，我们的这个就是会new一个对象
    }
}

